package com.hl.ruoyilkshop.domain;

import java.util.List;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 商品规格关联对象 goods_spec_relation
 * 
 * @author ruoyi
 * @date 2025-08-08
 */
public class GoodsSpecRelation extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 关联ID */
    private Long id;

    /** 商品ID */
    @Excel(name = "商品ID")
    private Long goodsId;

    /** 规格ID */
    @Excel(name = "规格ID")
    private Long goodsSpecId;

    /** 商家ID */
    @Excel(name = "商家ID")
    private Long businessId;

    // 新增字段：商品信息
    /** 商品名称 */
    private String goodsName;
    
    /** 商品价格 */
    private String goodsPrice;
    
    /** 商品图片 */
    private String goodsImg;
    
    /** 商品状态 */
    private Long goodsStatus;
    
    /** 商品数量 */
    private Long goodsNumber;

    // 新增字段：规格信息
    /** 规格名称 */
    private String goodsSpecName;
    
    /** 规格值字符串（从SKU表获取） */
    private String specsValue;
    
    /** 规格值列表 */
    private List<Specs> specsList;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setGoodsId(Long goodsId) 
    {
        this.goodsId = goodsId;
    }

    public Long getGoodsId() 
    {
        return goodsId;
    }

    public void setGoodsSpecId(Long goodsSpecId) 
    {
        this.goodsSpecId = goodsSpecId;
    }

    public Long getGoodsSpecId() 
    {
        return goodsSpecId;
    }

    public void setBusinessId(Long businessId) 
    {
        this.businessId = businessId;
    }

    public Long getBusinessId() 
    {
        return businessId;
    }

    public String getGoodsName() 
    {
        return goodsName;
    }

    public void setGoodsName(String goodsName) 
    {
        this.goodsName = goodsName;
    }

    public String getGoodsPrice() 
    {
        return goodsPrice;
    }

    public void setGoodsPrice(String goodsPrice) 
    {
        this.goodsPrice = goodsPrice;
    }

    public String getGoodsImg() 
    {
        return goodsImg;
    }

    public void setGoodsImg(String goodsImg) 
    {
        this.goodsImg = goodsImg;
    }

    public Long getGoodsStatus() 
    {
        return goodsStatus;
    }

    public void setGoodsStatus(Long goodsStatus) 
    {
        this.goodsStatus = goodsStatus;
    }

    public Long getGoodsNumber() 
    {
        return goodsNumber;
    }

    public void setGoodsNumber(Long goodsNumber) 
    {
        this.goodsNumber = goodsNumber;
    }

    public String getGoodsSpecName() 
    {
        return goodsSpecName;
    }

    public void setGoodsSpecName(String goodsSpecName) 
    {
        this.goodsSpecName = goodsSpecName;
    }

    public String getSpecsValue() 
    {
        return specsValue;
    }

    public void setSpecsValue(String specsValue) 
    {
        this.specsValue = specsValue;
    }

    public List<Specs> getSpecsList() 
    {
        return specsList;
    }

    public void setSpecsList(List<Specs> specsList) 
    {
        this.specsList = specsList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("goodsId", getGoodsId())
            .append("goodsSpecId", getGoodsSpecId())
            .append("businessId", getBusinessId())
            .append("goodsName", getGoodsName())
            .append("goodsPrice", getGoodsPrice())
            .append("goodsImg", getGoodsImg())
            .append("goodsStatus", getGoodsStatus())
            .append("goodsNumber", getGoodsNumber())
            .append("goodsSpecName", getGoodsSpecName())
            .append("specsValue", getSpecsValue())
            .append("specsList", getSpecsList())
            .append("createTime", getCreateTime())
            .toString();
    }
}
